/**
 * APIResponse.java
 * ************************** 
 * @date May 13, 2011
 * @author Michele Tamburini
 * 
 * **************************
 */
package infrastructureAPI;

import java.io.Serializable;

/**
 * Description: 
 * The APIResponse defines the way the P2PCloudSystem answers
 * to a received request. 
 * Once the request was marshaled, delivered to the system
 * and accomplished, the system sends an APIResponse 
 * to the node from which the request had submitted.
 * An APIRespose may throws a ResponseException
 * in case something goes wrong during the 
 * analysis and computation of the submitted request.
 *
 */
public interface APIResponse extends Serializable {
	
	/**
	 * Returns the APIResponse object which contains
	 * the answer to a submitted and accomplished request.
	 * It may throw a ResponseException if something 
	 * goes wrong during the elaboration of the request.
	 * @return response : Object
	 * @throws ResponseException 
	 */
	public Object getResponse() throws ResponseException;
}
